﻿
using HBase;
using System;
namespace hCommand {
    public  class AbsCoreStock :BaseEntity {
       
        //托盘类型，大托盘，高托盘，长托盘，等用于分配货位时使用，
        //不同托盘类型在入库存储过程中对应的不同算法
        //public int? locType { get; set; }
        public long classifyId { get; set; }
        public long deepDiff { get; set; }
        public int locId { get; set; }
 
        public string boxCode { get; set; }
    
        public int status { get; set; }
        public int locked { get; set; }
        public DateTime createTime { get; set; }
        public DateTime? changeTime { get; set; }
        public long pkId { get; set; }
  
        public int eigen { get; set; }

        public const String isStoreStr = "status > 2 and status<70 "  ;
    }

    public enum StockStatus {
        编辑 = 1,
        下限 = 2,
        库外 = 3,
        入库中=15,
        移库中 = 25, 库存 = 29,
        出库中 = 35,
        待盘库 = 41, 盘库出库 = 42,  盘库库外 = 43, 盘库回库 = 44, 盘库待确认 = 45,
        库外移动 = 56,
        上限=70,
        PDA出库删除 = 72, 未入库删除 = 73, 盘亏删除 = 74, 异常删除 =75, 直接删除 = 76
    }
    public enum StockDetailStatus {
        编辑 = 1,//一般不存在，特殊要求
        库外 = 3,//未绑定托盘
        入库中 = 15,//绑定后
        库存 = 29,
        出库中 = 35,

        盘存 = 46, //盘库原始数量
        盘亏中 = 47,
        盘盈 = 48, //新增数量

        直接自动出库 = 71,//无需人工确定，在自动对接系统中
        pad出库完成 = 72,//从出库中
        入库前删除 =73,//库外 
        盘亏出库 = 74,//盘库中
        删除库存 = 75,//库存
    }
}



//                 待入库 
//                   |
//                   V   
//                  库外 --------------->入库前删除 
//                   |
//                   V                                                    
//|--------------> 入库中
//|                  |           
//|                  V                                                     
//|  删除库存<------库存<----------|-------盘盈                             
//|                  |   \         |                                        
//|                  V   _\|       |                                        
//|---------------出库中  盘存-----|------>盘亏中---->盘亏出库                                    
//                   |
//                   V
//             直接自动出库                                                   
//             pad出库完成                                                      
//                            